package model

// CommunicationFriends 通讯录
type CommunicationFriends struct {
	CustomerId       string `json:"customerId,omitempty"`       //当前账号ID
	FriendCustomerId string `json:"friendCustomerId,omitempty"` //好友ID
	RemarkFriendName string `json:"remarkFriendName,omitempty"` //好友昵称 默认对方用户名
	Status           string `json:"status,omitempty"`           //关系状态
	FriendType       string `json:"friendType,omitempty"`       //关系类型 仅聊天
	Order            int    `json:"order,omitempty"`            //排序
	Source           string `json:"source,omitempty"`           //来源
	CreateTime       string `json:"createTime,omitempty"`
}

// BaseRoom 房间
type BaseRoom struct {
	RoomId     string `json:"roomId,omitempty"`   //房间唯一编号
	RoomType   string `json:"roomType,omitempty"` //房间类型
	CreateTime string `json:"createTime,omitempty"`
}

// RoomMenber  房间成员
type RoomMenber struct {
	RoomId     string `json:"roomId,omitempty"`     //房间唯一编号
	CustomerId string `json:"customerId,omitempty"` //当前账号ID
	Identity   string `json:"identity,omitempty"`   //成员身份
	Status     string `json:"status"`               //聊天室成员对该聊天室的状态
	CreateTime string `json:"createTime,omitempty"`
}

// SingleRoom 一对一房间
type SingleRoom struct {
	RoomId   string `json:"roomId,omitempty"`   //房间唯一编号
	RoomName string `json:"roomName,omitempty"` //房间名称
}

// CrowdRoom
type CrowdRoom struct {
	RoomId     string `json:"roomId,omitempty"`     //房间唯一编号
	RoomName   string `json:"roomName,omitempty"`   //房间名称
	RoomNotice string `json:"roomNotice,omitempty"` //房间公告
}

// RoomOnUser  关于用户的个性房间信息/设置
type RoomOnUser struct {
	RoomId        string `json:"roomId,omitempty"`        //房间唯一编号
	CustomerId    string `json:"customerId,omitempty"`    //用户ID
	BackgroundImg string `json:"backgroundImg,omitempty"` //聊天背景
	Nickname      string `json:"nickname,omitempty"`      //用户昵称【群聊】
	RoomName      string `json:"roomName,omitempty"`      //房间名称【对于用户备注/私聊是对方的用户名，群里是用户名拼接】
	Status        string `json:"status"`                  //房间状态Y/N
	CreateTime    string `json:"createTime,omitempty"`
}

// SingleRoomUser
type SingleRoomUser struct {
	RoomId              string `json:"roomId,omitempty"`              //房间唯一编号
	CustomerId          string `json:"customerId,omitempty"`          //创建者
	RecipientCustomerId string `json:"recipientCustomerId,omitempty"` //用户ID
	CreateTime          string `json:"createTime,omitempty"`
}

// BaseInformation  消息基础
type BaseInformation struct {
	RoomId             string `json:"roomId,omitempty"`             //所属房间唯一编号
	InformationId      string `json:"informationId,omitempty"`      //消息唯一编号
	InformationType    string `json:"informationType,omitempty"`    //消息类型 文字，语音，文件，图片，连接
	InformationContent string `json:"informationContent,omitempty"` //消息内容
	Despatcher         string `json:"despatcher,omitempty"`         //消息发送者
	Sequence           uint   `json:"sequence,omitempty"`           //消息序号
	CreateTime         string `json:"createTime,omitempty"`
}

// InformationOnUser 消息对于用户
type InformationOnUser struct {
	CustomerId        string `json:"customerId,omitempty"`        //用户ID
	UserIdentity      string `json:"userIdentity,omitempty"`      //发送者/接收者
	InformationId     string `json:"informationId,omitempty"`     //消息唯一编号
	InformationStatus string `json:"informationStatus,omitempty"` //消息状态
	CreateTime        string `json:"createTime,omitempty"`
}

// CompleteInformation
type CompleteInformation struct {
	BaseInfo          BaseInformation   `json:"baseInfo,omitempty"`          //消息基础
	InformationSender InformationOnUser `json:"informationSender,omitempty"` //发送者
}
